home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 1 / Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso / FILES / HYP / C-D / DeveloperStax.cpt / Developer Stack 1.1 / stack.txt < prev   
Text File  |  1989-02-26  |  7KB  |  241 lines

  1. -- stack: in.1
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x0 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 9
  11. -- first background id: 3091
  12. -- card count: 66
  13. -- first card id: 4851
  14. -- list block id: 23636
  15. -- print block id: 3564
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 208864 bytes
  21. -- stack block size: 6144 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x00000000
  24. -- modified by hypercard version: 0x00000000
  25. -- opened by hypercard version: 0x00000000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x0000220000002200
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0xCC003300CC003300
  30. -- patterns[4]: 0xCC883322CC883322
  31. -- patterns[5]: 0xFF00FF00FF00FF00
  32. -- patterns[6]: 0xEECCBB33EECCBB33
  33. -- patterns[7]: 0xFFCCFF33FFCCFF33
  34. -- patterns[8]: 0xFFEEFFBBFFEEFFBB
  35. -- patterns[9]: 0xFFFFFFBBFFFFFFBB
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x5555555555555555
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. on openStack
  69.   hide message box
  70.   set userlevel to 5
  71. end openStack
  72.  
  73.  
  74. on mouseup
  75.   if the optionkey is not down then exit mouseup
  76.   else
  77.     if the shiftkey is down then edit script of this background
  78.     else edit script of target
  79.   end if
  80. end mouseup
  81.  
  82.  
  83. on newcard
  84.   ask "What do you want to name this card?"
  85.   set cursor to 4
  86.   put "Please wait while we fix things up for you..."
  87.   put it into newName
  88.   if newName is empty then
  89.     domenu delete card
  90.     hide message
  91.     exit newcard
  92.   end if
  93.   set the name of this card to newName
  94.   put newName into field name
  95.   set lockscreen to true
  96.   put the short name of this background into rememberThis
  97.   push this card
  98.   go first card
  99.   put newName&"," after card field rememberThis
  100.   put newName&"," after card field index
  101.   pop card
  102.   set lockscreen to false
  103.   hide message window
  104. end newcard
  105.  
  106.  
  107. --
  108. --this function will take a word passed to it by the calling script,
  109. --check if it is valid, and then go the card whose name is that wore.
  110. --
  111. function HyperText selectedWord
  112. --
  113. --
  114. --hypertext technique by Steve Drazga, ART Incorporated
  115. --if you use this in your scripts please include these 2 lines.
  116. --
  117. --
  118. if space is in SelectedWord then  --the user selected more than 1 word
  119.   click at loc of target       --so we will clear the selection
  120.   exit HyperText             --and exit to wait for another selection
  121. end if
  122. push this card
  123. visual dissolve to gray
  124. visual dissolve
  125. go card selectedWord
  126. if the result is not empty then
  127.   play oops
  128.   answer "Can't find that card"
  129. end if
  130. end HyperText
  131.  
  132.  
  133.  
  134. --
  135. --this function is used by the 'install' buttons in the
  136. --XFCN & XCMD cards.  It needs the resource type and resource name
  137. --passed to it.  It then attempts to install the resource into
  138. --a target stack & returns the result.
  139. --
  140. function installres type, resname
  141. --
  142. --Original script by Steve Drazga, ART Incorpoated
  143. --XFCNs used: fileName,
  144. --XCMDs used: modResCopy,
  145. --HANDLERS used: none
  146. --FUNCTIONS used: none
  147. --
  148. put (long name of this stack) into sourceStack
  149. delete first word of sourceStack
  150. delete first character of sourceStack
  151. delete last character of sourceStack
  152. put "Select a stack to copy this resource into."
  153. put filename("STAK") into fname
  154. if fname is empty then exit installres
  155. if sourcestack=fname then
  156.   play "oops"
  157.   return "Get real.  You can't install it in this stack"
  158.   exit installres
  159. end if
  160. --
  161. ModResCopy sourceStack,fname,type,resname
  162. --
  163. get the result
  164. if first char of it is "E" then
  165.   play oops
  166.   return "Attempt to install resource has failed."
  167. else
  168.   return "Resource installation successful"
  169. end if
  170. end installres
  171.  
  172.  
  173.  
  174. --
  175. -- LastPathComponent -- given a file pathname, returns the last
  176. -- component i.e. whatever comes after the last colon, if anything.
  177. -- From Dewi Williams
  178. --
  179. function LastPathComponent name
  180. -- scan backwards for the last colon.
  181. repeat with i = the length of name down to 1
  182.   if character i of name is ":" then exit repeat
  183. end repeat
  184.  
  185. if i is 1 then
  186.   -- Name was of the form ":thing" or "thing". Check for leading
  187.   -- colon, and adjust if necessary. Done for generality.
  188.   if first character of name is ":" then
  189.     put 2 into i
  190.   end if
  191. else
  192.   add 1 to i -- skip the colon
  193. end if
  194.  
  195. -- Name was of the form "Thing:otherthing". Return "otherThing".
  196. put empty into lastpath
  197. repeat with j = i to the length of name
  198.   put character j of name after lastpath
  199. end repeat
  200. return lastpath
  201. end LastPathComponent
  202.  
  203.  
  204. --
  205. -- OsErr: for displaying Operating system error codes returned by
  206. -- Sublaunch, RenameFile, MoveFile and DeleteFile XFCNs.
  207. -- From Dewi Williams
  208. --
  209. on OsErr err
  210.   -- Translate the most common ones
  211.   if err > 0 then -- XFCN convention
  212.     put "Parameter error with function" into errstr
  213.   else if err is -59 then
  214.     put "Problem during rename" into errstr
  215.   else if err is -54 then
  216.     put "Attempt to open locked file for writing" into errstr
  217.   else if err is -46 then
  218.     put "Volume locked by software" into errstr
  219.   else if err is -45 then
  220.     put "File locked" into errstr
  221.   else if err is -44 then
  222.     put "Volume locked by hardware" into errstr
  223.   else if err is -43 then
  224.     put "File not found" into errstr
  225.   else if err is -37 then
  226.     put "Bad volume or file name" into errstr
  227.   else if err is -36 then
  228.     put "I/O error" into errstr
  229.   else if err is -35 then
  230.     put "No such volume" into errstr
  231.   else if err is -34 then
  232.     put "Disk is full" into errstr
  233.   else if err is -49 then
  234.     put "File already open for writing" into errstr
  235.   else
  236.     put "Failed with error" && err into errstr
  237.   end if
  238.   answer errstr with "OK"
  239. end OsErr
  240.  
  241.